Although speech recognition has been around for decades, the quality of speech recognition software and hardware has only recently reached a high enough level to appeal to a large number of consumers. One area in which speech recognition has become very popular in recent years is the smartphone and tablet computer industry. Using a speech recognition-enabled device, a consumer can perform such tasks as making phone calls, writing emails, and navigating with GPS using only voice commands.
Speech recognition in such devices is far from perfect, however. A speech recognition engine typically relies on a phoneme or command database to be able to recognize voice utterances. A user may, however, need to “train” the phoneme or command database to recognize his or her speech characteristics—accent, frequently mispronounced words and syllables, tonal characteristics, cadence, etc. Even after training, however, the phoneme or command database may not be accurate in all audio environments. For example, the presence of background noise can decrease speech recognition accuracy.